#include "system.h"
#define BEGIN_ROW 6         //初始行数
#define BEGIN_COL 30        //初始列数
#define END_ROW 18          //结束行数
#define END_COL 100         //结束列数

int status = -1;            //全局变量，初始为-1，学生登录为1，教师登录为2

void ShowInitMenu()
{
    int i;                  //循环变量
    //第一个数字控制列，第二个数字控制行
    SetPosition(BEGIN_COL,BEGIN_ROW);
    printf("---------------------------学生信息管理系统---------------------------");
    SetPosition(BEGIN_COL,END_ROW);
    printf("----------------------------------------------------------------------");
    for(i = 0;i <= END_ROW - BEGIN_ROW;i++)
    {
        SetPosition(BEGIN_COL,BEGIN_ROW + i);
        printf("|");
        SetPosition(END_COL,BEGIN_ROW + i);
        printf("|");
    }
}

//在登录前菜单显示消息
void ShowBasicInformation()
{
    int choice;
    ShowInitMenu();
    SetPosition(BEGIN_COL+15,BEGIN_ROW+2);
    printf("欢迎来到本系统，请选择方式登录：");
    SetPosition(BEGIN_COL+15,BEGIN_ROW+3);
    printf("1、学生登录");
    SetPosition(BEGIN_COL+15,BEGIN_ROW+4);
    printf("2、教师登录");
    SetPosition(BEGIN_COL+10,END_ROW+1);
    printf("请选择（1或2）：");
    scanf("%d",&choice);
    switch(choice)
    {
    case 1:

        break;
    case 2:

        break;
    default:
        SetPosition(BEGIN_COL+10,END_ROW+2);
        printf("请输入1或2！");
        break;
    }
}

//展示登录后的菜单
void ShowMainMenu()
{
    int choice;
    Clear(BEGIN_COL,BEGIN_ROW,20);
    ShowInitMenu();
    if(status == 1)                     //说明是学生登录
    {
        SetPosition(BEGIN_COL+15,BEGIN_ROW+2);
        printf("1、查找学生信息");
        SetPosition(BEGIN_COL+15,BEGIN_ROW+3);
        printf("2、查看排名");
        SetPosition(BEGIN_COL+15,BEGIN_ROW+4);
        printf("3、修改密码");
        SetPosition(BEGIN_COL+15,BEGIN_ROW+5);
        printf("4、显示校历");
        SetPosition(BEGIN_COL+15,BEGIN_ROW+6);
        printf("5、退出系统");
        SetPosition(BEGIN_COL+10,END_ROW+1);
        printf("请选择（1-5）：");
        scanf("%d",&choice);
        switch(choice)
        {
        case 1:

            break;
        case 2:

            break;
        case 3:

            break;
        case 4:

            break;
        case 5:

            break;
        default:
            printf("请输入1-5之间的数字！");
            break;
        }
    }
    if(status == 2)
    {
        SetPosition(BEGIN_COL+15,BEGIN_ROW+2);
        printf("1、录入学生信息");
        SetPosition(BEGIN_COL+15,BEGIN_ROW+3);
        printf("2、查找学生信息");
        SetPosition(BEGIN_COL+15,BEGIN_ROW+4);
        printf("3、删除学生信息");
        SetPosition(BEGIN_COL+15,BEGIN_ROW+5);
        printf("4、修改学生信息");
        SetPosition(BEGIN_COL+15,BEGIN_ROW+6);
        printf("5、插入学生信息");
        SetPosition(BEGIN_COL+15,BEGIN_ROW+7);
        printf("6、查看排名");
        SetPosition(BEGIN_COL+15,BEGIN_ROW+8);
        printf("7、修改密码");
        SetPosition(BEGIN_COL+15,BEGIN_ROW+9);
        printf("8、显示校历");
        SetPosition(BEGIN_COL+15,BEGIN_ROW+10);
        printf("9、退出系统");
        SetPosition(BEGIN_COL+10,END_ROW+1);
        printf("请选择（1-9）：");
        scanf("%d",&choice);
        switch(choice)
        {
        case 1:

            break;
        case 2:

            break;
        case 3:

            break;
        case 4:

            break;
        case 5:

            break;
        case 6:

            break;
        case 7:

            break;
        case 8:

            break;
        case 9:

            break;
        default:
            printf("请输入1-9之间的数字！");
            break;
        }
    }
}
//改变控制台标题
void SetTitle(char *title)
{
    SetConsoleTitle(title);
}

//光标位置
void SetPosition(int x,int y)
{
    HANDLE winHandle;   //句柄，管理硬件设备
    COORD pos = {x,y};
    winHandle = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(winHandle,pos);
}

//清屏
void Clear(int x,int y,int rowCount)
{
    SetPosition(x,y);
    int i,j;
    for(i = 0;i < rowCount;i++)
    {
        SetPosition(x,y + i);
        for(j = 0;j < END_COL - BEGIN_COL;j++)
            printf(" ");
    }
}
